<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>正则表达式</title>
</head>
<body>
<script>
    /* 正则表达式用于定义字符串的的规则，计算机可以根据正则表达式，来检查字符串是否复合规则
    *   将字符串中符合规则的内容提取出来
    * 正则表达式写法：
    *  1. 使用对象创建正则表达式
    *       语法：var=new RegExp("正则表达式","匹配模式");
    *           正则表达式的方法测试
    *               test() 用这个检查一个字符串是否符合正则表达式的规则
    *                   如果符合则返回true 如果不符合则返回false
    *                   var reg=new RegExp("a");检查一个字符串是否含有a
    *                   在构造函数中可以传递一个匹配模式作为第2个参数
    *                   i 忽略大小写
    *                    g 全局匹配模式
    *   2.使用字面量创建正则表达式
    *           语法：reg=/正则表达式/匹配模式
    *       使用字面量 更加简单
    *       使用构造函数创建更加灵活
    *       创建一个正则表达式 检查一个字符串是否有a或者b |  var reg2=/a|b/i; 检查一个字符串a或b忽略大小写
    *      [ab]==a|b 都是或的关系
    *      [a-z] 任意的小写字母
    *      [A-Z]任意的大写字母
    *      [A-z]任意字母
    *       [] 中括号  表示或
    *       {}大括号   表示次数
    *       () 小括号  表示一个单元
    *       [^ab] 表示 除了ab以外的字符串
    *       [0-9] 表示 所有的数字
    * */
    //举例1
    var reg=new RegExp("a","i");//定义一个构造函数 忽略大小写 有就返回true 没有就返回false
    console.log(typeof reg);//返回object
    var str="Abcsedff";
    var result=reg.test(str);
    console.log(result);//返回值true
    //举例2
    var reg1=/b/i;//var reg=/b/i;==var reg=new RegExp("b","i");
    console.log(reg1.test("bcd"));//返回true
    //举例3 创建一个正则表达式 检查一个字符串是否有a或者b |
    var reg2=/a|b/i;
    console.log(reg2.test("acbferf"));//返回true
    //举例4 创建一个正则表达式 检查一个字符串是否有字母
    var reg3=/[a-z]/i; //检查一个字符串是否有字母
    console.log(reg3.test("A112246578"));//返回true
    console.log(reg3.test("a12246578"));//返回true
    console.log(reg3.test("112246578"));//返回false
    //举例5 检查一个字符串 是否含有cabc aec adc
    var reg4=/a[bde]c/;
    console.log(reg4.test("aec"));
    //举例6
    var reg5=/[^ab]/;
    console.log(reg5.test("ab"));//除了ab以外的字符串 所以返回false
    console.log(reg5.test("c"));//除了ab以外的字符串  返回true
    //举例7
    var reg6=/[0-9]/;
    console.log(reg6.test("abc1"));//有数字1返回true
    console.log(reg6.test("abc"));// 没有数字 返回false
</script>
</body>
</html>